package com.google.android.gcm.demo.app;

import java.util.List;
import com.google.android.gcm.demo.app.R;
import rss.util.FeedRSS;
import rss.util.FunzioniUtilita;
import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class ArrayAdapterNotizie extends ArrayAdapter<FeedRSS> {
	
	ViewHolder viewHolder=null;
	
	public ArrayAdapterNotizie(Context context, int textViewResourceId, List<FeedRSS> objects) {
		super(context, textViewResourceId, objects);
		// TODO Auto-generated constructor stub
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {

		if(convertView==null)
		{
			LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			convertView = inflater.inflate(R.layout.custom_list_feedrss_view, null);
			viewHolder = new ViewHolder();
			viewHolder.immagineAnteprimaRSS=(ImageView)convertView.findViewById(R.id.immagineAnteprimaRSS);
			viewHolder.titoloRSS = (TextView)convertView.findViewById(R.id.titoloRSS);
			viewHolder.publishedDateRSS = (TextView)convertView.findViewById(R.id.publishedDateRSS);
			viewHolder.autoreRSS = (TextView)convertView.findViewById(R.id.autoreRSS);
			viewHolder.descrizioneRSS = (TextView)convertView.findViewById(R.id.descrizioneRSS);
			convertView.setTag(viewHolder);
		} else {
			viewHolder = (ViewHolder) convertView.getTag();
		}
		FeedRSS f=getItem(position);
		//se l'immagine non viene caricata x qualche motivo faccio visualizzare il logo rss standard
		
		if(f.getBitmap()==null)
		{
			viewHolder.immagineAnteprimaRSS.getLayoutParams().height = 40;
			viewHolder.immagineAnteprimaRSS.getLayoutParams().width = 40;
			viewHolder.immagineAnteprimaRSS.setImageResource(R.drawable.logo_rss);
		}
		else
			viewHolder.immagineAnteprimaRSS.setImageBitmap(f.getBitmap());
		viewHolder.titoloRSS.setText(f.getTitolo());
		viewHolder.autoreRSS.setText("Autore: "+f.getAutore());
		viewHolder.publishedDateRSS.setText("Data pubblicazione: "+FunzioniUtilita.formatDateHHmm(f.getPublishedDate()));
		viewHolder.descrizioneRSS.setText(Html.fromHtml(f.getDescrizione()));
		return convertView;
	}

	private class ViewHolder {
		public ImageView immagineAnteprimaRSS;
		public TextView titoloRSS;
		public TextView publishedDateRSS;
		public TextView autoreRSS;
		public TextView descrizioneRSS;
	}
}
